The present disclosure relates generally to electronic data, and more particularly, to techniques (e.g., systems, methods, computer program products storing code or instructions executable by one or more processors) for synchronizing the capture of change data from multiple transaction journals.
Traditionally the capturing of transactional information from databases for actions being taken by an application, for example an enterprise application, involves running a change data capture process, which is a set of software design patterns used to determine (and track) the data that has changed so that the action can be taken using the changed data rather than outdated data. In certain systems each of the databases has a single transaction log of transactional information (also known as a transaction journal or journal) that is read when tracking the operations that take place against the databases. Accordingly, the extract spans a single journal and there are no issues regarding the consistency of the transaction information and the synchronization of the reader.
However, in other systems (for example the IBM i operating system), there is no requirement for there to be a single transaction journal for the database. Instead, there may be multiple journals for the database (e.g., any individual table is recorded in a single journal but different tables may be recorded in different journals). Consequently, there is a possibility that there will be multiple journals in an extract and there is a potential issue as to whether there needs to be a synchronization between the journals. For example, since these other systems such as the IBM i operating system, allow a transaction to implicitly or explicitly span journals it is required that the journal reader for an extract include all of the journals that a transaction would include to ensure transactional consistency. There is no way to ensure this has been done by the user or the operating system. Therefore, techniques for synchronizing change data from multiple transaction journals of a database is desired.